package com.test.反射;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.concurrent.*;

public class 反射 {
	public static void main(String[] args) {
		Persion p = new Persion();
		Class<? extends Persion> clazz3 = p.getClass();
		Class<Persion> clazz1 = Persion.class;
		try {
			Class<?> clazz2 = Class.forName("com.test.反射.Persion");
			String name = clazz2.getName();
			Constructor<?>[] constructors1 = clazz2.getConstructors();
			Constructor<?>[] constructors = clazz2.getDeclaredConstructors();
			Method[] methods = clazz2.getMethods();
			Method[] declaredMethods = clazz2.getDeclaredMethods();
			Field[] declaredFields = clazz2.getDeclaredFields();
			Object o = constructors[0].newInstance();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
		ExecutorService executorService = Executors.newFixedThreadPool(5);
		executorService.execute(null);
		Callable<Object> callable = Executors.callable(new Runnable() {
			@Override
			public void run() {

			}
		});
//		executorService.execute();
//		ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10,100,1000, TimeUnit.SECONDS,)
//		ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10,100,1000, TimeUnit.SECONDS,)

	}
}
